The invention relates to a method for the implementation of a stack in a data memory composed of element memories for a processor system and a data-memory arrangement.
Developments in the field of digital signal processors have led to a greatly increased interest in parallel data processing. For example, DE 198 35 216.1 discloses a processor arrangement for parallel data processing having a data memory and parallel processing units that are connected together via communication units. The data memory is designed as a group memory in which data groups having a plurality of elements in each instance are stored under an address, a processing unit being allocated to each element of the data group and the data memory in the width of one element being directly connected with memory elements of an allocated processing unit. Such an arrangement makes it possible for data elements of a data group either to be sent directly to an allocated processing unit or to be distributed to other processing units via the communication unit. Thus, a data group may be read out of the data memory and simultaneously distributed to a plurality of processing units and processed in parallel.
In such a processor arrangement, in the processing of a data processing program the necessity arises, for example, for storing local variables of procedures. Particularly in recursive procedures, holding each variable on an absolute memory address is not possible, since a second retrieval of the procedure would overwrite the first variable values deposited there. For this reason, a special memory area, which is designated as a stack and works as LIFO (last in first out) memory, is usually created for storing local variables, see for example Andrew S. Tanenbaum, James Goodman “Computer-architektur,” Prentice Hall, 2001, pp. 263-265. Other applications for a memory stack are well known to persons skilled in the art and therefore need not be discussed herein.
The object of the invention therefore consists in making available a stack in a data memory described above, where the available storage space may be optimally utilized, insofar as possible without the occurrence of memory gaps.